/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package cl.tienda.control;

import cl.tienda.modelo.Carrito;
import cl.tienda.modelo.Producto;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Cacahuate
 */
/**Cuando damos en Finalizar Compra, se deberá actualizar los stocks de los productos que teníamos. El encargado de
actualizar los stocks será un Servlet que lo llamaremos “ServletCFinalizarCompra”. Cuyo método doPost será el
encargado de actualizar los stocks.*/

    
    @SuppressWarnings("UseOfObsoleteCollectionType")
public class ServletCFinalizarCompra extends HttpServlet {
        
    
    
   @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        doPost(request, response);
    }
   
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
        HttpSession sesion=request.getSession();
        Vector<Carrito> carritoCompra=(Vector<Carrito>)sesion.getAttribute("carrito");
        Vector<Producto> productos=(Vector<Producto>)sesion.getAttribute("productos");
        for(int c=0; c<carritoCompra.size(); c++){
            //Obtengo el producto que pedi por medio de mi Vector de Productos
            Producto prodTemp=carritoCompra.get(c).getProducto();
            int stockActualizado=prodTemp.getStock() - carritoCompra.get(c).getCantidadPedida();
            prodTemp.setStock(stockActualizado);
            int indiceActualizar=carritoCompra.get(c).getCodigo();
            productos.remove(indiceActualizar);
            productos.add(indiceActualizar, prodTemp);
        }
        sesion.setAttribute("productos", productos);
        sesion.removeAttribute("carrito");
        PrintWriter out=response.getWriter();
        imprimirPagina(out, productos);
        out.close();
    }


    public void imprimirPagina(PrintWriter out,Vector<Producto> productos ){
//copy paste de servletcconprod xD
       out.println("<html>");
        out.println("<head>");
        out.println("<title>Consultar Producto</title>");
        out.println("<style type=\"text/css\">");
        out.println("<!--");
        out.println("body {");
        out.println("background-color: #FFFF99;");
        out.println("}");
        out.println("body,td,th {");
        out.println("font-family: Arial, Helvetica, sans-serif;");
        out.println("}");
        out.println("</style>");
        out.println("</head>");
        out.println("<body>");
        out.println("<table width=\"800\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">");
        out.println("<tr>");
        out.println("<td width=\"84\" bgcolor=\"#FF0000\"><img src=\"img/carritorx8[1].jpg\" width=\"84\" height=\"77\" /></td>");
        out.println("<td width=\"716\" bgcolor=\"#FF0000\"><h1 style=\"color:#FFFFFF\">Carrito de Compas con Vectores y Sesiones</h1></td>");
        out.println("</tr>");
        out.println("<tr align=\"center\">");
        out.println("<td colspan=\"2\">&nbsp;</td>");
        out.println("</tr>");
        out.println("<tr align=\"center\">");
        out.println("<td colspan=\"2\">");
        out.println("<h4><a href=\"ServletCConProd\">Consultar Productos</a> | <a href=\"ServletCAgrCarrito1\">Agregar al Carrito</a> | <a href=\"login.html\">Salir</a></h4></td>");
        out.println("</tr>");
        out.println("<tr>");
        out.println("<td colspan=\"2\">&nbsp;</td>");
        out.println("</tr>");
        out.println("<tr>");
        out.println("<td colspan=\"2\">Se registro su pedido</td>");
        out.println("</tr>");
        out.println("<tr>");
        out.println("<td colspan=\"2\"><table width=\"100%\" border=\"0\">");
        out.println("<tr bgcolor=\"#FF6600\" style=\"color: #FFFFFF\">");
        out.println("<td width=\"68%\"><h4>Nombre</h4></td>");
        out.println("<td width=\"16%\" align=\"right\" valign=\"top\"><h4><span class=\"Estilo3\">Stock</span></h4></td>");
        out.println("<td width=\"16%\" align=\"right\" valign=\"top\"><h4><span class=\"Estilo3\">Precio</span></h4></td>");
        out.println("</tr>");
        

        

        for(int p=0; p<productos.size(); p++){
            if(p%2==0){
                out.println("<tr bgcolor=\"#FFFFFF\">");
                out.println("<td>" + productos.get(p).getNombreProducto() + "</td>");
                out.println("<td align=\"right\" valign=\"top\">"+ productos.get(p).getStock() +"</td>");
                out.println("<td align=\"right\" valign=\"top\">"+ productos.get(p).getPrecio() +"</td>");
                out.println("</tr>");
            }else{
                out.println("<tr>");
                out.println("<td>" + productos.get(p).getNombreProducto() + "</td>");
                out.println("<td align=\"right\" valign=\"top\">"+ productos.get(p).getStock() +"</td>");
                out.println("<td align=\"right\" valign=\"top\">"+ productos.get(p).getPrecio() +"</td>");
                out.println("</tr>");
            }
        }

       out.println("</table></td>");
        out.println("</tr>");
        out.println("<tr>");
        out.println("<td colspan=\"2\">&nbsp;</td>");
        out.println("</tr>");
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");

        out.close();
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
